﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;



namespace eCampus
{
    public partial class FormBloqueo : Form
    {
        string pass;
        bool desbloqueado = false;
        System.Windows.Forms.ErrorProvider error = new ErrorProvider();

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="usu">Usuario</param>
        /// <param name="contra">Contraseña</param>
        public FormBloqueo(string usu, string contra)
        {
            InitializeComponent();
            tbUsuario.Text = usu;
            pass = contra;
        }

        /// <summary>
        /// Invoca a la función que valida al usuario
        /// </summary>
        /// <param name="sender">btAceptar</param>
        /// <param name="e">Click</param>
        private void btAceptar_Click(object sender, EventArgs e)
        {
            ComprobarPass();
        }

        /// <summary>
        /// Cierra la aplicacion
        /// </summary>
        /// <param name="sender">FormBloqueo</param>
        /// <param name="e">FormClosing</param>
        private void FormBloqueo_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (desbloqueado == false)// && MessageBox.Show("Se perderán todos los datos no guardados. ¿Desea salir de la aplicación?", "Salir", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.OK)
            {
                Application.Exit();
            }
        }

        /// <summary>
        /// Colorea el textbox de contraseña
        /// </summary>
        /// <param name="sender">tbContrasenyaBloqueada</param>
        /// <param name="e">Enter</param>
        private void tbContrasenyaBloqueada_Enter(object sender, EventArgs e)
        {
            error.Clear();
            tbContrasenyaBloqueada.BackColor = Color.LightGoldenrodYellow;
        }

        /// <summary>
        /// Quita el color del texbox contraseña
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tbContrasenyaBloqueada_Leave(object sender, EventArgs e)
        {
            tbContrasenyaBloqueada.BackColor = Color.White;
        }

        /// <summary>
        /// Si presionas enter en el textbox contraseña, valida los datos
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tbContrasenyaBloqueada_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)(Keys.Enter))
            {
                ComprobarPass();
            }
        }

        /// <summary>
        /// Función de validación del usuario
        /// </summary>
        private void ComprobarPass()
        {
            if (pass == tbContrasenyaBloqueada.Text)
            {
                desbloqueado = true;
                Close();
            }
            else
            {
                error.SetError(tbContrasenyaBloqueada, "Contraseña incorrecta");
            }
        }
    }
}
